package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.system.domain.QtUsesrCourse;
import com.ruoyi.system.mapper.QtUsesrCourseMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.QtUserMapper;
import com.ruoyi.system.domain.QtUser;
import com.ruoyi.system.service.IQtUserService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 用户管理Service业务层处理
 * 
 * @author zqq
 * @date 2021-11-15
 */
@Service
public class QtUserServiceImpl implements IQtUserService 
{
    @Autowired
    private QtUserMapper qtUserMapper;
    @Autowired
    private QtUsesrCourseMapper qtUsesrCourseMapper;
    /**
     * 查询用户管理
     * 
     * @param userId 用户管理主键
     * @return 用户管理
     */
    @Override
    public QtUser selectQtUserByUserId(String userId)
    {
        return qtUserMapper.selectQtUserByUserId(userId);
    }

    /**
     * 查询用户管理列表
     * 
     * @param qtUser 用户管理
     * @return 用户管理
     */
    @Override
    public List<QtUser> selectQtUserList(QtUser qtUser)
    {
        return qtUserMapper.selectQtUserList(qtUser);
    }

    /**
     * 新增用户管理
     * 
     * @param qtUser 用户管理
     * @return 结果
     */
    @Override
    @Transactional
    public int insertQtUser(QtUser qtUser)
    {
        qtUser.setUserId(IdUtils.randomUUID());
        return qtUserMapper.insertQtUser(qtUser);
    }

    /**
     * 修改用户管理
     * 
     * @param qtUser 用户管理
     * @return 结果
     */
    @Override
    public int updateQtUser(QtUser qtUser)
    {
        QtUsesrCourse qtUsesrCourse=new QtUsesrCourse();
        qtUsesrCourse.setUserId(qtUser.getUserId());
        qtUsesrCourse.setCourseId(qtUser.getUserStr());
        qtUsesrCourse.setIsNow(1);//1是0不是
        qtUsesrCourseMapper.insertQtUsesrCourse(qtUsesrCourse);
        return qtUserMapper.updateQtUser(qtUser);
    }

    /**
     * 批量删除用户管理
     * 
     * @param userIds 需要删除的用户管理主键
     * @return 结果
     */
    @Override
    public int deleteQtUserByUserIds(String[] userIds)
    {
        return qtUserMapper.deleteQtUserByUserIds(userIds);
    }

    /**
     * 删除用户管理信息
     * 
     * @param userId 用户管理主键
     * @return 结果
     */
    @Override
    public int deleteQtUserByUserId(String userId)
    {
        return qtUserMapper.deleteQtUserByUserId(userId);
    }

    @Override
    @Transactional
    public int importList(List<QtUser> list) {
        if(list.size() == 0){
            return 0;
        }
        for(QtUser user : list){
            user.setUserId(IdUtils.randomUUID());
            qtUserMapper.insertQtUser(user);
        }
        return 1;
    }
}
